package br.com.sisop;

import java.util.Scanner;

import Labirinto.Labirinto;
import br.com.sisop.Dijkstra;
import br.com.sisop.Estrela;
import br.com.sisop.Guloso;

/**
 * Algoritmo de Busca em Espaços de Estados
 * 
 * Alunos:
 * 	Richard Altmayer
 * 	Lucas Moraes
 * 	Eliana Kuhn
 */
public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);  	  
		System.out.println("Digite Altura e largura do Labirinto: ");
		int numero = sc.nextInt();
		System.out.println("Labirinto de " + numero + " por " + numero);
		System.out.println("Digite a Porcentagem de  obstáculos: ");
		int qtdObstaculos = sc.nextInt();
		System.out.println("Labirinto com " + qtdObstaculos+ "% de obstáculos");
		
		Labirinto l = new Labirinto (numero , numero ,qtdObstaculos, false);
		
		System.out.println("--------------------------------------------------------------------");
		System.out.println("\nALGORITMO A RESOLVER");
		System.out.println("--------------------");
		System.out.println("Posição entrada: " + l.getPosicaoAtual().toString());
		System.out.println("Posição saída  : " + l.getPosicaoSaida().toString());
		System.out.println("\n");
		l.print(null);
		
		Guloso g = new Guloso(l);
		Estrela e = new Estrela (l);
		Dijkstra d = new Dijkstra(l);
		
		System.out.println("\nCUSTOS");
		System.out.println("------");
		
		System.out.println("Guloso   : " + g.getCusto());
		System.out.println("Estrela  : " + e.getCusto());
		System.out.println("Dijkstra : " + d.getCusto());
		
		
	}

}


